package NumTheory;

import java.math.BigInteger;

public interface NumTheoryInterface {
    // 厄拉多塞筛算法
    BigInteger[] eratosthenes(BigInteger n);

    BigInteger euclid(BigInteger a, BigInteger b);

    BigInteger[] exEuclid(BigInteger a, BigInteger b);

    BigInteger fastPow(BigInteger base, BigInteger expo, BigInteger p);

    BigInteger crt(BigInteger[] a, BigInteger[] p, int num);

    // Miller-Rabin素性检测算法实现
    boolean MRtest(BigInteger n);
}
